package com.example.demo.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.example.demo.dto.BoardroomAddDTO;
import com.example.demo.dto.BoardroomStatusDTO;
import com.example.demo.dto.BoardroomUpdateDTO;
import com.example.demo.pojo.Boardroom;
import com.baomidou.mybatisplus.extension.service.IService;
import com.example.demo.vo.BoardroomDevVO;
import com.example.demo.vo.ResultVO;

import java.util.Date;
import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author sjy
 * @since 2025-05-25
 */
public interface BoardroomService extends IService<Boardroom> {
    //分页查询会议室
    IPage<BoardroomDevVO> queryBoardroomsWithDevices(Integer id, String name, Integer pageNum, Integer pageSize) throws Exception;
    IPage<Boardroom> getBoardrooms(Integer page, Integer pageSize, String name, Integer type, Integer minSeats, Integer maxSeats);
    ResultVO<String> addBoardroomWithDevices(BoardroomAddDTO dto) throws Exception;
    ResultVO<String> updateBoardroomWithDevices(BoardroomUpdateDTO dto) throws Exception;
    ResultVO<String> deleteBoardroomWithDevices(Integer id) throws Exception;
    IPage<BoardroomDevVO> searchBoardrooms(String date, String startTime, String endTime, Integer attendees, List<String> devices, Integer page, Integer pageSize);
    Integer getBoardroomIdByName(String name);

    List<BoardroomStatusDTO> getStatusByDate(Integer id, Date date);
}
